package cn.ven.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer;
import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter;

@Configuration
@EnableResourceServer //把资源服务器放到 过滤器链条
public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
    /*
      资源服务器
        "G" -----管理员权限  /api/adm/**  都可以访问 包括所有开放的
        "P" -----买家权限    /api/fore/** 都可以访问 包括所有开放的
     */

    @Override
    public void configure(HttpSecurity http) throws Exception {
        http.requestMatchers().antMatchers("/api/**")
                .and()
                .authorizeRequests()
                .antMatchers("/api/public/**").permitAll()
                .antMatchers("/api/adm/**").hasAnyAuthority("G")
                .antMatchers("/api/fore/**").hasAnyAuthority("P")
                .anyRequest().authenticated();
    }
}
